//
// Created by Administrator on 2021/9/29.
//
#include "FileUtil.h"

/**
 * 从文件中字符串
 * @param filePath 文件路径
 * @return c字符串
 */
String FileUtil::readStrFromFile(String filePath) {
    //读取文件
    std::fstream ffstream;
    std::stringstream  fStringSteam;

    ffstream.exceptions(std::ifstream::failbit | std::ifstream::badbit);
    ffstream.open(filePath.c_str());
    fStringSteam << ffstream.rdbuf();

    ffstream.close();

    return fStringSteam.str();
}

/**
 * 读取文件中的每一行并返回
 * @param filePath 文件路径
 * @return 每行数据
 */
std::vector<String> FileUtil::readLineStrFromFile(String filePath) {
    std::vector<String> fileContent;
    std::ifstream in(filePath.c_str());

    std::string line;

    if(in){
        //int i = 0;
        while (getline (in, line)) // line中不包括每行的换行符
        {
            fileContent.emplace_back(line);
        }

        log_info("读取结束，文件共%d行", fileContent.size());

    }else{
        MAssert::check(false, "文件不存在");
    }

    return fileContent;
}





